/*
 *
 *  Copyright (C) 2007-2020 SimplyCore, LLC
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 *
 */

#ifdef _USBD_ENABLE_STUB_
#include "usbd.h"
int IIlIIIlI(struct IlIlII*IlIIl,struct urb*lIlllIlI);int llllIIIIl(struct 
IlIlII*IlIIl,struct urb*lIlllIlI);void lllllIIll(struct urb*lIlll
#if KERNEL_LT((0xb40+1225-0x1007),(0x14c4+2371-0x1e01),(0x13bc+1824-0x1ac9))
,struct pt_regs*llllIIl
#endif
);struct IlIlII*lIlllIlII(int pipe,int interval,int IIIlIIII,int lIlllIl,struct 
usb_device*IIIlIl,struct lIlIllI*lIIlll,void*context,urb_chain_complete_t 
complete,gfp_t llllI){struct IlIlII*IlIIl;int i,IlIlI=(0x1b16+2534-0x24fc);
struct usb_host_endpoint*ep;IlllI(
"\x75\x73\x62\x64\x5f\x75\x63\x5f\x61\x6c\x6c\x6f\x63\x3a\x20\x2b\x2b" "\n");ep=
usb_pipein(pipe)?IIIlIl->ep_in[usb_pipeendpoint(pipe)]:IIIlIl->ep_out[
usb_pipeendpoint(pipe)];if(!ep){IlllI(
"\x75\x73\x62\x64\x5f\x75\x63\x5f\x61\x6c\x6c\x6f\x63\x3a\x20\x2d\x2d\x20\x65\x72\x72\x6f\x72\x2c\x20\x65\x6e\x64\x70\x6f\x69\x6e\x74\x20\x69\x73\x20\x4e\x55\x4c\x4c" "\n"
);return NULL;}IlIIl=IIIllII(sizeof(struct IlIlII)+sizeof(struct urb*)*lIIlll->
llIlI,GFP_KERNEL);if(IlIIl==NULL){IlllI(
"\x75\x73\x62\x64\x5f\x75\x63\x5f\x61\x6c\x6c\x6f\x63\x3a\x20\x2d\x2d\x20\x65\x72\x72\x6f\x72\x2c\x20\x6b\x6d\x61\x6c\x6c\x6f\x63\x20\x66\x61\x69\x6c\x65\x64" "\n"
);return NULL;}IlIIl->pipe=pipe;IlIIl->IIIlIIII=IIIlIIII;IlIIl->lIlllIl=lIlllIl;
IlIIl->IIIlIl=IIIlIl;IlIIl->llIlI=lIIlll->llIlI;IlIIl->status=
(0x155+6639-0x1b44);IlIIl->lllIlIlIl=(0xf9+2774-0xbcf);IlIIl->context=context;
IlIIl->complete=complete;atomic_set(&IlIIl->lIlIIIII,(0x12ac+757-0x15a1));
spin_lock_init(&IlIIl->lock);for(i=(0x28+3776-0xee8);i<IlIIl->llIlI;i++){
if(IlIlI<(0x1572+3935-0x24d1)){break;}IlIIl->IIIlII[i]=IIIIIIIl(lIIlll->IllIIl[i
].number_of_packets,llllI);if(!IlIIl->IIIlII[i]){IIllIl(
"\x75\x73\x62\x64\x5f\x75\x63\x5f\x61\x6c\x6c\x6f\x63\x3a\x20\x66\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x61\x6c\x6c\x6f\x63\x61\x74\x65\x20\x61\x6e\x20\x75\x72\x62\x20\x2d\x20\x6e\x6f\x20\x6d\x65\x6d\x6f\x72\x79" "\n"
);IlIlI=-ENOMEM;break;}IlIIl->IIIlII[i]->transfer_flags|=URB_NO_INTERRUPT;switch
(usb_pipetype(pipe)){case PIPE_BULK:usb_fill_bulk_urb(IlIIl->IIIlII[i],IlIIl->
IIIlIl,pipe,lIIlll->IllIIl[i].transfer_buffer,lIIlll->IllIIl[i].
transfer_buffer_length,lllllIIll,IlIIl);if(usb_pipein(pipe)){IlIIl->IIIlII[i]->
transfer_flags|=URB_SHORT_NOT_OK;}break;case PIPE_ISOCHRONOUS:IlIIl->IIIlII[i]->
dev=IIIlIl;IlIIl->IIIlII[i]->pipe=pipe;IlIIl->IIIlII[i]->transfer_flags=
URB_ISO_ASAP;IlIIl->IIIlII[i]->transfer_buffer=lIIlll->IllIIl[i].transfer_buffer
;IlIIl->IIIlII[i]->transfer_buffer_length=lIIlll->IllIIl[i].
transfer_buffer_length;IlIIl->IIIlII[i]->start_frame=-(0xedc+2187-0x1766);IlIIl
->IIIlII[i]->number_of_packets=lIIlll->IllIIl[i].number_of_packets;IlIIl->IIIlII
[i]->context=IlIIl;IlIIl->IIIlII[i]->complete=lllllIIll;if(interval){IlIIl->
IIIlII[i]->interval=interval;}else{IlIIl->IIIlII[i]->interval=ep?ep->desc.
bInterval:(0x19cc+279-0x1ae2);IlIIl->IIIlII[i]->interval=(0x96+817-0x3c6)<<(
IlIIl->IIIlII[i]->interval-(0x8c5+404-0xa58));}break;default:IIllIl(
"\x75\x73\x62\x64\x5f\x75\x63\x5f\x61\x6c\x6c\x6f\x63\x3a\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x70\x69\x70\x65\x20\x74\x79\x70\x65" "\n"
);IlIlI=-EINVAL;break;}IlIIl->IIIlII[i]->dev=NULL;
}if(IlIlI<(0x14a5+4223-0x2524)){
for(i--;i>=(0x1d15+1787-0x2410);i--){lllllIlI(IlIIl->IIIlII[i]);}lIlIll(IlIIl);
IlllI(
"\x75\x73\x62\x64\x5f\x75\x63\x5f\x61\x6c\x6c\x6f\x63\x3a\x20\x2d\x2d\x20\x66\x61\x69\x6c\x65\x64" "\n"
);return NULL;}
IlIIl->IIIlII[IlIIl->llIlI-(0xe49+1401-0x13c1)]->transfer_flags&=~
URB_NO_INTERRUPT;IlllI(
"\x75\x73\x62\x64\x5f\x75\x63\x5f\x61\x6c\x6c\x6f\x63\x3a\x20\x2d\x2d\x20\x73\x75\x63\x63\x65\x73\x73" "\n"
);return IlIIl;}

void llIlIlIIl(struct IlIlII*IlIIl){int i;IlllI(
"\x75\x73\x62\x64\x5f\x75\x63\x5f\x66\x72\x65\x65" "\n");for(i=
(0x15e8+1595-0x1c23);i<IlIIl->llIlI;i++){if(IlIIl->IIIlII[i])lllllIlI(IlIIl->
IIIlII[i]);}lIlIll(IlIIl);}void lllllIIll(struct urb*lIlll
#if KERNEL_LT((0x152+2627-0xb93),(0x8d+282-0x1a1),(0x111+6168-0x1916))
,struct pt_regs*llllIIl
#endif
){struct IlIlII*IlIIl=lIlll->context;








if(lIlll->status&&lIlll->status!=-ECONNRESET&&lIlll->status!=-ENOENT){int abort=
(0x13f5+3510-0x21ab);spin_lock(&IlIIl->lock);if(IlIIl->status==
(0x341+1551-0x950))
{
if(lIlll->status==-EREMOTEIO&&IlIIl->IIIlIIII){IlIIl->status=(0xaa0+5431-0x1fd7)
;IlllI(
"\x75\x73\x62\x64\x5f\x75\x63\x5f\x75\x72\x62\x5f\x63\x6f\x6d\x70\x6c\x65\x74\x65\x3a\x20\x73\x68\x6f\x72\x74\x20\x74\x72\x61\x6e\x73\x66\x65\x72\x20\x64\x65\x74\x65\x63\x74\x65\x64\x20\x61\x6e\x64\x20\x69\x73\x20\x6f\x6b\x2e\x20\x61\x63\x74\x75\x61\x6c\x5f\x6c\x65\x6e\x67\x74\x68\x3d\x25\x64" "\n"
,lIlll->actual_length);}else{IlIIl->status=lIlll->status;IlllI(
"\x75\x73\x62\x64\x5f\x75\x63\x5f\x75\x72\x62\x5f\x63\x6f\x6d\x70\x6c\x65\x74\x65\x3a\x20\x65\x61\x72\x6c\x79\x20\x75\x72\x62\x20\x63\x6f\x6d\x70\x6c\x65\x74\x65\x64\x20\x77\x69\x74\x68\x20\x73\x74\x61\x74\x75\x73\x20\x25\x64" "\n"
,lIlll->status);}abort=(0x364+742-0x649);}spin_unlock(&IlIIl->lock);if(abort){
IIlIIIlI(IlIIl,lIlll);}}
#if defined(_USBD_USE_EHCI_FIX_) && KERNEL_GT_EQ((0x1961+127-0x19de),\
(0xe58+3568-0x1c42),(0x14c+3952-0x10a3)) && KERNEL_LT_EQ((0x4b4+7655-0x2299),\
(0xf12+3646-0x1d4a),(0x674+25-0x671))
if(IlIIl->lIlllIl&&usb_pipeisoc(lIlll->pipe)&&lIlll->status==(0x5eb+3269-0x12b0)
){if(atomic_read(&lIlll->kref.refcount)>(0x4c3+77-0x50f))usb_put_urb(lIlll);}
#endif
lIlll->dev=NULL;
IlIIl->lllIlIlIl+=lIlll->actual_length;
if(atomic_dec_and_test(&IlIIl->lIlIIIII)){IlllI(
"\x75\x73\x62\x64\x5f\x75\x63\x5f\x75\x72\x62\x5f\x63\x6f\x6d\x70\x6c\x65\x74\x65\x3a\x20\x61\x6c\x6c\x20\x75\x72\x62\x73\x20\x66\x69\x6e\x69\x73\x68\x65\x64\x20\x2d\x20\x63\x6f\x6d\x70\x6c\x65\x74\x69\x6e\x67\x20\x74\x68\x65\x20\x63\x68\x61\x69\x6e" "\n"
);IlIIl->complete(IlIIl);}}int lIIIIlIlI(struct IlIlII*IlIIl){int i,IIIIIl,IlIlI
=(0x46d+3776-0x132d);unsigned long flags;IlllI(
"\x75\x73\x62\x64\x5f\x75\x63\x5f\x73\x75\x62\x6d\x69\x74\x3a\x20\x2b\x2b" "\n")
;atomic_set(&IlIIl->lIlIIIII,IlIIl->llIlI);spin_lock_irqsave(&IlIIl->lock,flags)
;for(i=(0x126+6864-0x1bf6),IIIIIl=(0xbd8+1409-0x1159);i<IlIIl->llIlI;i++){if(
IlIIl->status!=(0xb0b+2888-0x1653)){break;}IlIIl->IIIlII[i]->dev=IlIIl->IIIlIl;
IlIlI=usb_submit_urb(IlIIl->IIIlII[i],GFP_ATOMIC);
if(IlIlI!=(0xaf+59-0xea)){IlIIl->IIIlII[i]->dev=NULL;
}spin_unlock_irqrestore(&IlIIl->lock,flags);if(IlIlI==-ENXIO||IlIlI==-EAGAIN||
IlIlI==-ENOMEM){IlllI(
"\x75\x73\x62\x64\x5f\x75\x63\x5f\x73\x75\x62\x6d\x69\x74\x3a\x20\x72\x65\x74\x72\x79\x69\x6e\x67\x20\x66\x61\x69\x6c\x65\x64\x20\x75\x72\x62" "\n"
);
if(IIIIIl++<(0xfb+5501-0x166e)){i--;IlIlI=(0x1775+1324-0x1ca1);yield();}}else{
cpu_relax();IIIIIl=(0xc5d+137-0xce6);}spin_lock_irqsave(&IlIIl->lock,flags);if(
IlIlI!=(0x962+4324-0x1a46)){IlllI(
"\x75\x73\x62\x64\x5f\x75\x63\x5f\x73\x75\x62\x6d\x69\x74\x3a\x20\x73\x75\x62\x6d\x69\x74\x20\x66\x61\x69\x6c\x65\x64" "\n"
);IlIIl->status=-(0x99b+4656-0x1bca);break;}}spin_unlock_irqrestore(&IlIIl->lock
,flags);
if(IlIlI<(0x185+4911-0x14b4)){IIlIIIlI(IlIIl,NULL);}else{int lIlIIIlIl=IlIIl->
llIlI-i;
if(lIlIIIlIl>(0xd7d+4795-0x2038)&&atomic_sub_and_test(lIlIIIlIl,&IlIIl->lIlIIIII
)){IlllI(
"\x75\x73\x62\x64\x5f\x75\x63\x5f\x73\x75\x62\x6d\x69\x74\x3a\x20\x69\x6f\x63\x6f\x6e\x74\x20\x69\x73\x20\x30\x2c\x20\x63\x61\x6c\x6c\x69\x6e\x67\x20\x63\x6f\x6d\x70\x6c\x65\x74\x69\x6f\x6e" "\n"
);IlIIl->complete(IlIIl);}}IlllI(
"\x75\x73\x62\x64\x5f\x75\x63\x5f\x73\x75\x62\x6d\x69\x74\x3a\x20\x2d\x2d\x20\x72\x65\x73\x75\x6c\x74\x3d\x25\x64" "\n"
,IlIlI);return IlIlI;}int lIlllIllI(struct IlIlII*IlIIl){int i;for(i=
(0x1cc5+2591-0x26e4);i<IlIIl->llIlI;i++){usb_get_urb(IlIIl->IIIlII[i]);}return
(0x5b+4311-0x1132);}int lIIlIllII(struct IlIlII*IlIIl){int i;for(i=
(0x1b50+1708-0x21fc);i<IlIIl->llIlI;i++){usb_put_urb(IlIIl->IIIlII[i]);}return
(0x52c+666-0x7c6);}int IlIlllllI(struct IlIlII*IlIIl){unsigned long flags;int 
abort=(0x1bb2+286-0x1cd0);IlllI(
"\x75\x73\x62\x64\x5f\x75\x63\x5f\x75\x6e\x6c\x69\x6e\x6b\x3a\x20\x2b\x2b" "\n")
;spin_lock_irqsave(&IlIIl->lock,flags);if(IlIIl->status==(0x2410+27-0x242b)){
IlIIl->status=-ECONNRESET;abort=(0xf33+4739-0x21b5);}spin_unlock_irqrestore(&
IlIIl->lock,flags);if(abort){IIlIIIlI(IlIIl,NULL);}IlllI(
"\x75\x73\x62\x64\x5f\x75\x63\x5f\x75\x6e\x6c\x69\x6e\x6b\x3a\x20\x2d\x2d" "\n")
;return(0x145f+2754-0x1f21);}int IIlIIIIII(struct IlIlII*IlIIl){unsigned long 
flags;IlllI(
"\x75\x73\x62\x64\x5f\x75\x63\x5f\x6b\x69\x6c\x6c\x3a\x20\x2b\x2b" "\n");
spin_lock_irqsave(&IlIIl->lock,flags);if(IlIIl->status==(0x975+2759-0x143c)){
IlIIl->status=-ECONNRESET;}spin_unlock_irqrestore(&IlIIl->lock,flags);llllIIIIl(
IlIIl,NULL);IlllI(
"\x75\x73\x62\x64\x5f\x75\x63\x5f\x6b\x69\x6c\x6c\x3a\x20\x2d\x2d" "\n");return
(0x1f7+301-0x324);}int llllIIIIl(struct IlIlII*IlIIl,struct urb*lIlllIlI){int i,
IIIIIlll=(0x37d+971-0x748);for(i=(0x114b+1583-0x177a);i<IlIIl->llIlI;i++){if(!
IIIIIlll&&lIlllIlI){if(IlIIl->IIIlII[i]==lIlllIlI)IIIIIlll=(0x6b3+3993-0x164b);}
else{if(IlIIl->IIIlII[i]&&IlIIl->IIIlII[i]->dev){
#if KERNEL_GT_EQ((0x2f1+5047-0x16a6),(0x572+2242-0xe2e),(0x171+8279-0x21ac))


usb_poison_urb(IlIIl->IIIlII[i]);
#else
usb_kill_urb(IlIIl->IIIlII[i]);
#endif
}}}return(0xbf3+2815-0x16f2);}int IIlIIIlI(struct IlIlII*IlIIl,struct urb*
lIlllIlI){int i,IIIIIlll=(0x55f+7984-0x248f);for(i=(0x53f+6629-0x1f24);i<IlIIl->
llIlI;i++){if(!IIIIIlll&&lIlllIlI){if(IlIIl->IIIlII[i]==lIlllIlI)IIIIIlll=
(0x1ff+7369-0x1ec7);}else{if(IlIIl->IIIlII[i]&&IlIIl->IIIlII[i]->dev)
usb_unlink_urb(IlIIl->IIIlII[i]);}}return(0x10ff+2927-0x1c6e);}int IlIIIlIII(
struct IlIlII*IlIIl,struct urb*lIlll){int i;for(i=(0x1872+369-0x19e3);i<IlIIl->
llIlI;i++){if(IlIIl->IIIlII[i]==lIlll)break;}return(i==IlIIl->llIlI)?-
(0x83d+3943-0x17a3):i;}





struct lIlIllI*IIlIIIllI(size_t length,int llIlllIl){struct lIlIllI*IlIIl;size_t
 lIIIIlIl;size_t lIlllIlIl;size_t llIlI;int i;IlllI(
"\x75\x73\x62\x64\x5f\x62\x63\x5f\x61\x6c\x6c\x6f\x63\x3a\x20\x2b\x2b" "\n");if(
unlikely(llIlllIl==(0x801+6243-0x2064))){IlllI(
"\x75\x73\x62\x64\x5f\x62\x63\x5f\x61\x6c\x6c\x6f\x63\x3a\x20\x2d\x2d\x20\x65\x72\x72\x6f\x72\x2c\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x70\x61\x72\x61\x6d\x65\x74\x65\x72" "\n"
);return NULL;}if(unlikely(length==(0x1a01+794-0x1d1b))){IlllI(
"\x75\x73\x62\x64\x5f\x62\x63\x5f\x61\x6c\x6c\x6f\x63\x3a\x20\x2d\x2d\x20\x65\x72\x72\x6f\x72\x2c\x20\x7a\x65\x72\x6f\x2d\x6c\x65\x6e\x67\x74\x68\x20\x62\x75\x66\x66\x65\x72" "\n"
);return NULL;}
lIIIIlIl=lllIIlI-(lllIIlI%llIlllIl);llIlI=(length-(0xb84+2525-0x1560))/lIIIIlIl+
(0x577+7960-0x248e);lIlllIlIl=length%lIIIIlIl;
if(lIlllIlIl==(0x134d+3113-0x1f76)){lIlllIlIl=lIIIIlIl;}IlllI(
"\x75\x73\x62\x64\x5f\x62\x63\x5f\x61\x6c\x6c\x6f\x63\x3a\x20\x70\x61\x72\x74\x73\x69\x7a\x65\x3d\x25\x6c\x75\x20\x63\x6f\x75\x6e\x74\x3d\x25\x6c\x75" "\n"
,(unsigned long)lIIIIlIl,(unsigned long)llIlI);IlIIl=IIIllII(sizeof(struct 
lIlIllI)+sizeof(((struct lIlIllI*)(0xd45+899-0x10c8))->IllIIl[(0x2d1+847-0x620)]
)*llIlI,GFP_KERNEL);if(unlikely(IlIIl==NULL)){IlllI(
"\x75\x73\x62\x64\x5f\x62\x63\x5f\x61\x6c\x6c\x6f\x63\x3a\x20\x2d\x2d\x20\x65\x72\x72\x6f\x72\x2c\x20\x6b\x6d\x61\x6c\x6c\x6f\x63\x20\x66\x61\x69\x6c\x65\x64" "\n"
);return NULL;}IlIIl->llIlI=llIlI;
for(i=(0xda5+1804-0x14b1);i<llIlI;i++){
size_t IIIllIl=(i==llIlI-(0x487+4034-0x1448))?lIlllIlIl:lIIIIlIl;IlllI(
"\x75\x73\x62\x64\x5f\x62\x63\x5f\x61\x6c\x6c\x6f\x63\x3a\x20\x61\x6c\x6c\x6f\x63\x61\x74\x69\x6e\x67\x20\x25\x6c\x75\x20\x62\x79\x74\x65\x73" "\n"
,(unsigned long)IIIllIl);IlIIl->IllIIl[i].transfer_buffer=IIIllII(IIIllIl,
GFP_KERNEL);IlIIl->IllIIl[i].transfer_buffer_length=IIIllIl;IlIIl->IllIIl[i].
actual_length=(0x2a2+4971-0x160d);IlIIl->IllIIl[i].number_of_packets=
(0x232f+251-0x242a);if(!IlIIl->IllIIl[i].transfer_buffer){IlllI(
"\x75\x73\x62\x64\x5f\x62\x63\x5f\x61\x6c\x6c\x6f\x63\x3a\x20\x6b\x6d\x61\x6c\x6c\x6f\x63\x20\x66\x61\x69\x6c\x65\x64" "\n"
);break;}}
if(i<llIlI){for(i--;i>=(0x1908+3218-0x259a);i--){lIlIll(IlIIl->IllIIl[i].
transfer_buffer);}lIlIll(IlIIl);IlllI(
"\x75\x73\x62\x64\x5f\x62\x63\x5f\x61\x6c\x6c\x6f\x63\x3a\x20\x2d\x2d\x20\x65\x72\x72\x6f\x72" "\n"
);return NULL;}IlllI(
"\x75\x73\x62\x64\x5f\x62\x63\x5f\x61\x6c\x6c\x6f\x63\x3a\x20\x2d\x2d\x20\x73\x75\x63\x63\x65\x73\x73\x2c\x20\x62\x63\x3d\x30\x78\x25\x70" "\n"
,IlIIl);return IlIIl;}


struct lIlIllI*IIIIlIIlI(size_t length,IIIlIIll*lIllIIlI,lllII lIIlIlII){struct 
lIlIllI*IlIIl;int i;size_t llIlI;void*lIllIllI;size_t IIIllIl;size_t IIllIIII;
size_t IIlIllIl;IlllI(
"\x75\x73\x62\x64\x5f\x62\x63\x5f\x61\x6c\x6c\x6f\x63\x5f\x66\x6f\x72\x5f\x69\x73\x6f\x3a\x20\x2b\x2b\x20\x6c\x65\x6e\x67\x74\x68\x3d\x25\x6c\x75\x20\x6e\x75\x6d\x70\x61\x63\x6b\x65\x74\x73\x3d\x25\x64" "\n"
,(unsigned long)length,lIIlIlII);if(unlikely(length==(0x10fb+2947-0x1c7e))){
IlllI(
"\x75\x73\x62\x64\x5f\x62\x63\x5f\x61\x6c\x6c\x6f\x63\x5f\x66\x6f\x72\x5f\x69\x73\x6f\x3a\x20\x2d\x2d\x20\x7a\x65\x72\x6f\x2d\x6c\x65\x6e\x67\x74\x68\x20\x62\x75\x66\x66\x65\x72\x28\x31\x29" "\n"
);return NULL;}if(unlikely(lIIlIlII==(0x468+816-0x798))){IlllI(
"\x75\x73\x62\x64\x5f\x62\x63\x5f\x61\x6c\x6c\x6f\x63\x5f\x66\x6f\x72\x5f\x69\x73\x6f\x3a\x20\x2d\x2d\x20\x7a\x65\x72\x6f\x2d\x6c\x65\x6e\x67\x74\x68\x20\x62\x75\x66\x66\x65\x72\x28\x32\x29" "\n"
);return NULL;}



llIlI=(length-(0x1eff+643-0x2181))/lllIIlI+(0xa3a+3439-0x17a8);IlIIl=IIIllII(
sizeof(struct lIlIllI)+sizeof(struct IllIl)*llIlI,GFP_KERNEL);if(unlikely(IlIIl
==NULL)){IlllI(
"\x75\x73\x62\x64\x5f\x62\x63\x5f\x61\x6c\x6c\x6f\x63\x5f\x66\x6f\x72\x5f\x69\x73\x6f\x3a\x20\x2d\x2d\x20\x65\x72\x72\x6f\x72\x2c\x20\x6b\x6d\x61\x6c\x6c\x6f\x63\x20\x66\x61\x69\x6c\x65\x64" "\n"
);return NULL;}IlIIl->llIlI=(0x148f+4014-0x243d);
IIIllIl=(0x15c0+3851-0x24cb);IIllIIII=(0x575+4298-0x163f);IIlIllIl=
(0xeb9+4862-0x21b7);for(i=(0xd3d+3802-0x1c17);i<lIIlIlII;i++){IIIllIl+=lIllIIlI[
i].Length;IIllIIII++;

if(IIlIllIl>lIllIIlI[i].Offset){IIllIl(
"\x45\x52\x52\x4f\x52\x21\x21\x21\x20\x4e\x6f\x6e\x2d\x6c\x69\x6e\x65\x61\x72\x20\x69\x73\x6f\x63\x68\x72\x6f\x6e\x6f\x75\x73\x20\x62\x75\x66\x66\x65\x72\x20\x64\x65\x74\x65\x63\x74\x65\x64\x2e\x20\x50\x6c\x65\x61\x73\x65\x20\x72\x65\x70\x6f\x72\x74\x20\x74\x68\x69\x73\x2e" "\n"
);IlllI(
"\x5b\x25\x64\x5d\x20\x6c\x61\x73\x74\x5f\x6f\x66\x66\x73\x65\x74\x3d\x30\x78\x25\x6c\x78\x20\x6f\x66\x66\x73\x65\x74\x3d\x30\x78\x25\x6c\x78"
,i,(unsigned long)IIlIllIl,(unsigned long)lIllIIlI[i].Offset);break;}IIlIllIl=
lIllIIlI[i].Offset;


if(((lIIlIlII-i)==(0x5e8+2163-0xe5a))||(IIIllIl>=lllIIlI&&IIllIIII>=
(0xa13+7182-0x261f)&&lIllIIlI[i+(0x528+6659-0x1f2a)].Length>(0x1b65+1784-0x225d)
&&(lIIlIlII-i)>(0xe7+3750-0xf8b))){if(unlikely(IlIIl->llIlI>=llIlI)){IlllI(
"\x75\x73\x62\x64\x5f\x62\x63\x5f\x61\x6c\x6c\x6f\x63\x5f\x66\x6f\x72\x5f\x69\x73\x6f\x3a\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x62\x75\x66\x66\x65\x72\x20\x73\x69\x7a\x65" "\n"
);break;}if(unlikely(length<IIIllIl)){IlllI(
"\x75\x73\x62\x64\x5f\x62\x63\x5f\x61\x6c\x6c\x6f\x63\x5f\x66\x6f\x72\x5f\x69\x73\x6f\x3a\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x69\x73\x6f\x20\x62\x75\x66\x66\x65\x72" "\n"
);break;}lIllIllI=IIIllII(IIIllIl,GFP_KERNEL);if(unlikely(!lIllIllI)){IlllI(
"\x75\x73\x62\x64\x5f\x62\x63\x5f\x61\x6c\x6c\x6f\x63\x5f\x66\x6f\x72\x5f\x69\x73\x6f\x3a\x20\x6b\x6d\x61\x6c\x6c\x6f\x63\x20\x66\x61\x69\x6c\x65\x64" "\n"
);break;}IlIIl->IllIIl[IlIIl->llIlI].transfer_buffer=lIllIllI;IlIIl->IllIIl[
IlIIl->llIlI].transfer_buffer_length=IIIllIl;IlIIl->IllIIl[IlIIl->llIlI].
actual_length=(0x398+147-0x42b);IlIIl->IllIIl[IlIIl->llIlI].number_of_packets=
IIllIIII;IlIIl->llIlI++;length-=IIIllIl;IIIllIl=(0xcd1+4054-0x1ca7);IIllIIII=
(0x60f+776-0x917);}}
if(i<lIIlIlII){for(i=(0x1986+2887-0x24cd);i<IlIIl->llIlI;i++){lIlIll(IlIIl->
IllIIl[i].transfer_buffer);}lIlIll(IlIIl);IlllI(
"\x75\x73\x62\x64\x5f\x62\x63\x5f\x61\x6c\x6c\x6f\x63\x5f\x66\x6f\x72\x5f\x69\x73\x6f\x3a\x20\x2d\x2d\x20\x65\x72\x72\x6f\x72" "\n"
);return NULL;}IlllI(
"\x75\x73\x62\x64\x5f\x62\x63\x5f\x61\x6c\x6c\x6f\x63\x5f\x66\x6f\x72\x5f\x69\x73\x6f\x3a\x20\x2d\x2d\x20\x73\x75\x63\x63\x65\x73\x73\x2c\x20\x62\x63\x3d\x30\x78\x25\x70" "\n"
,IlIIl);return IlIIl;}size_t IlIIIIlII(struct lIlIllI*IlIIl,const void*IllIl,
size_t length){int i;size_t lllIlI,IlIlI=(0xf34+3209-0x1bbd);IlllI(
"\x75\x73\x62\x64\x5f\x62\x63\x5f\x63\x6f\x70\x79\x5f\x66\x72\x6f\x6d\x5f\x75\x73\x65\x72\x3a\x20\x63\x6f\x75\x6e\x74\x3d\x25\x6c\x75" "\n"
,(unsigned long)IlIIl->llIlI);for(i=(0x11dd+381-0x135a);i<IlIIl->llIlI&&length>
(0x9c1+5636-0x1fc5);i++){lllIlI=min(length,IlIIl->IllIIl[i].
transfer_buffer_length);if(__copy_from_user(IlIIl->IllIIl[i].transfer_buffer,
IllIl,lllIlI)!=(0x82c+4989-0x1ba9)){IlllI(
"\x75\x73\x62\x64\x5f\x62\x63\x5f\x63\x6f\x70\x79\x5f\x66\x72\x6f\x6d\x5f\x75\x73\x65\x72\x3a\x20\x63\x61\x6e\x6e\x6f\x74\x20\x63\x6f\x70\x79\x20\x66\x72\x6f\x6d\x20\x75\x73\x65\x72\x20\x62\x75\x66\x66\x65\x72" "\n"
);break;}IlIIl->IllIIl[i].actual_length=lllIlI;IllIl+=lllIlI;length-=lllIlI;
IlIlI+=lllIlI;}return IlIlI;}size_t IIlIlIIll(struct lIlIllI*IlIIl,void*IllIl,
size_t length){int i;size_t lllIlI,IlIlI=(0x129+2289-0xa1a);IlllI(
"\x75\x73\x62\x64\x5f\x62\x63\x5f\x63\x6f\x70\x79\x5f\x74\x6f\x5f\x75\x73\x65\x72\x3a\x20\x63\x6f\x75\x6e\x74\x3d\x25\x6c\x75" "\n"
,(unsigned long)IlIIl->llIlI);for(i=(0x155f+400-0x16ef);i<IlIIl->llIlI&&length>
(0x1d85+1118-0x21e3);i++){lllIlI=min(length,IlIIl->IllIIl[i].actual_length);if(
__copy_to_user(IllIl,IlIIl->IllIIl[i].transfer_buffer,lllIlI)!=
(0x12ef+914-0x1681)){IlllI(
"\x75\x73\x62\x64\x5f\x62\x63\x5f\x63\x6f\x70\x79\x5f\x74\x6f\x5f\x75\x73\x65\x72\x3a\x20\x63\x61\x6e\x6e\x6f\x74\x20\x63\x6f\x70\x79\x20\x66\x72\x6f\x6d\x20\x75\x73\x65\x72\x20\x62\x75\x66\x66\x65\x72" "\n"
);break;}IllIl+=lllIlI;length-=lllIlI;IlIlI+=lllIlI;}return IlIlI;}void 
IIlIlIlll(struct lIlIllI*IlIIl){int i;for(i=(0xc1d+5054-0x1fdb);i<IlIIl->llIlI;i
++){if(IlIIl->IllIIl[i].transfer_buffer){lIlIll(IlIIl->IllIIl[i].transfer_buffer
);}}lIlIll(IlIIl);}
#endif 

